{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Yq94_gHXlxRn"
      },
      "source": [
        "# Hands-On Exercises: Fine-Tuning SmolVLM2-2.2B-Instruct"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "p570kW66mG5L"
      },
      "source": [
        "Welcome to the practical section! Here you'll put into practice everything you've learned about vision language models (VLMs) using **HuggingFaceTB/SmolVLM2-2.2B-Instruct**.  \n",
        "The exercises progress from foundational concepts to advanced techniques, helping you gain real-world, hands-on experience."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZkzfeG4-pabO"
      },
      "source": [
        "## Learning Objectives\n",
        "\n",
        "By the end of these exercises, you will be able to:\n",
        "\n",
        "- **Work with VLM datasets**: Explore and prepare **HuggingFaceM4/ChartQA**.  \n",
        "- **Optimize training**: Apply **quantization** and **PEFT** for efficient fine-tuning.  \n",
        "- **Fine-tune models in practice**: Train **HuggingFaceTB/SmolVLM2-2.2B-Instruct** using both Python APIs and CLI tools.  \n",
        "- **Adapt datasets for TRL**: Prepare VLM datasets to integrate seamlessly with TRL workflows.  \n",
        "- **Move to production**: Understand how to scale and manage **production-ready fine-tuning workflows** for VLMs."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Q8h2YYBq5G3R"
      },
      "source": [
        "## Exercise 1: Explore `SmolVLM2-2.2B-Instruct`\n",
        "\n",
        "**Objective:** Get familiar with the `SmolVLM2-2.2B-Instruct` model and evaluate the model using a sample from the dataset.\n",
        "\n",
        "### Environment Setup\n",
        "\n",
        "<Tip warning={true}>\n",
        "\n",
        "- You need a GPU with at least 8GB VRAM for training. CPU/MPS can run formatting and dataset exploration, but training larger models will likely fail.\n",
        "- First run will download several GB of model weights; ensure 15GB+ free disk and a stable connection.\n",
        "- If you need access to private repos, authenticate with Hugging Face Hub via `login()`.\n",
        "\n",
        "</Tip>\n",
        "\n",
        "First, install the required libraries: `transformers`, `datasets`, `trl`,`huggingface_hub`, and `trackio`.  \n",
        "These packages provide the tools for working with the model, datasets, and Hugging Face Hub.  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ekiV1sygIHRl"
      },
      "outputs": [],
      "source": [
        "# Install required packages (run in Colab or your environment)\n",
        "!pip install transformers datasets trl huggingface_hub trackio num2words==0.5.14"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BVyGXyBzp5SX"
      },
      "source": [
        "### Import dependencies\n",
        "\n",
        "Now, import the main dependencies we'll use:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "id": "Kjv43TCrp7VI"
      },
      "outputs": [],
      "source": [
        "# Import dependencies\n",
        "\n",
        "import torch\n",
        "import os\n",
        "from transformers import AutoProcessor, AutoModelForImageTextToText, BitsAndBytesConfig\n",
        "from transformers.image_utils import load_image"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "y1OZqbZip-lX"
      },
      "source": [
        "### Load the model and processor\n",
        "\n",
        "#### 1. Select the device  \n",
        "\n",
        "We start by selecting the device where the model will run. It can be a GPU (`cuda`), Apple Silicon (`mps`), or the CPU as a fallback.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "5G8fPfasqBn0"
      },
      "outputs": [],
      "source": [
        "device = (\n",
        "    \"cuda\"\n",
        "    if torch.cuda.is_available()\n",
        "    else \"mps\" if torch.backends.mps.is_available() else \"cpu\"\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0-oJ8vXHq3Nk"
      },
      "source": [
        "#### 2. Authenticate with Hugging Face\n",
        "\n",
        "To work with private models or to **push your fine-tuned model to the Hub** (as we'll do in this exercise), you need to authenticate with your Hugging Face account.\n",
        "\n",
        "<Tip>\n",
        "\n",
        "You can create and copy your access token from the [Hugging Face tokens page](https://huggingface.co/settings/tokens) in your profile.\n",
        "\n",
        "</Tip>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Yqy2lsBzq_cf"
      },
      "outputs": [],
      "source": [
        "from huggingface_hub import login\n",
        "login()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AaDr808Lq__K"
      },
      "source": [
        "#### 3. Load the model and processor\n",
        "\n",
        "Finally, we load the **HuggingFaceTB/SmolVLM2-2.2B-Instruct** model.\n",
        "The `AutoProcessor` is also initialized here — it ensures that both text and images are preprocessed correctly before being passed to the model."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "3lqUV0ECrFtG"
      },
      "outputs": [],
      "source": [
        "model_name = \"HuggingFaceTB/SmolVLM2-2.2B-Instruct\"\n",
        "model = AutoModelForImageTextToText.from_pretrained(\n",
        "    model_name,\n",
        "    dtype=torch.bfloat16,\n",
        ").to(device)\n",
        "\n",
        "processor = AutoProcessor.from_pretrained(model_name)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "lmcIF_PYp8Kj"
      },
      "source": [
        "### Explore the dataset\n",
        "\n",
        "In this step, we load a small subset of the **ChartQA** dataset — just 10% of the training and validation splits — to keep the exercises fast and manageable for learning purposes.\n",
        "\n",
        "We then display one of the chart images using `matplotlib` to get a visual sense of the model's input.  \n",
        "Additionally, we print the corresponding query and label so you can fully understand the dataset structure and the type of tasks the model will handle."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 581
        },
        "id": "cwn4Yp1v-qL1",
        "outputId": "86aa7911-13d7-40fc-bc8c-dd50cb7d7b64"
      },
      "outputs": [
        {
          "data": {
            "text/html": [
              "\n",
              "        <iframe\n",
              "            width=\"100%\"\n",
              "            height=\"560\"\n",
              "            src=\"https://huggingface.co/datasets/HuggingFaceM4/ChartQA/embed/viewer/default/train\"\n",
              "            frameborder=\"0\"\n",
              "            allowfullscreen\n",
              "            \n",
              "        ></iframe>\n",
              "        "
            ],
            "text/plain": [
              "<IPython.lib.display.IFrame at 0x7f10711df740>"
            ]
          },
          "execution_count": 6,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "from IPython.display import IFrame\n",
        "\n",
        "IFrame(\n",
        "    src=\"https://huggingface.co/datasets/HuggingFaceM4/ChartQA/embed/viewer/default/train\",\n",
        "    width=\"100%\",\n",
        "    height=560\n",
        ")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "yOENhSzPsvBK"
      },
      "outputs": [],
      "source": [
        "from datasets import load_dataset\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "train_dataset, eval_dataset = load_dataset(\"HuggingFaceM4/ChartQA\", split=[\"train[:10%]\", \"val[:10%]\"])\n",
        "example = train_dataset[1]\n",
        "image = load_image(example[\"image\"])\n",
        "\n",
        "print(example[\"query\"])\n",
        "print(example[\"label\"][0])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 428
        },
        "id": "wgU1INfsBI4z",
        "outputId": "32d6c51f-ee14-4aec-be48-39f83fddd88d"
      },
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcYAAAGbCAYAAABecjAAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA35JJREFUeJzs3XWYHdX9+PH3XLfdu+4uWUk27u5CcKe4Q7H215b2Swu0lFKcUqBQirsEJ0QIJIEQd93Nbtbd9fqd8/vjbja7EchCQgKc1/PkgR09I3c+c84cUYQQAkmSJEmSANCc6ARIkiRJ0slEBkZJkiRJ6kUGRkmSJEnqRQZGSZIkSepFBkZJkiRJ6kUGRkmSJEnqRQZGSZIkSepFBkZJkiRJ6kUGRkmSJEnqRQZG6RdLURT++te/npB9//Wvf0VRFBobG0/I/iVJOjIZGKUfZMeOHZx77rkkJydjMpmIj49n1qxZPPHEEyc6aSeE3+/nxRdfZOrUqYSFhWE0GklJSeHKK69k48aNJyxd9913Hx9++OFRLVtaWoqiKDz88MPHN1GSdJKSgVH63lavXs3IkSPZtm0b1157LU8++STXXHMNGo2Gxx9//EQn70fndDo59dRTueqqqxBCcMcdd/D0009z2WWXsWbNGkaPHk1lZeUJSVt/AqMk/dLpTnQCpJ+uf/zjH9jtdjZs2EBISEifefX19ScmUSfQH/7wBxYvXsxjjz3Gb37zmz7z7r77bh577LEfNT1CCFwuF2az+UfdryT91Mkco/S97du3j4EDBx4SFAGioqL6/P3iiy8yffp0oqKiMBqN5Obm8vTTTx+yXkpKCqeeeiorVqxg5MiRmM1m8vLyWLFiBQDvv/8+eXl5mEwmRowYwZYtW/qsf8UVV2Cz2SguLmbOnDlYrVbi4uK45557OJqBZKqqqrjqqquIjo7GaDQycOBAXnjhhe9cr7Kykv/+97/MmjXrkKAIoNVq+f3vf09CQkKf6a2trVxxxRWEhIRgt9u58sorcTgcfZbp77lbsmRJz7n773//i6IodHV18fLLL6MoCoqicMUVV3znMfX20ksvoSgKq1at4tZbbyUyMpKQkBCuv/56PB4Pra2tXHbZZYSGhhIaGsrtt99+yPl++OGHGT9+POHh4ZjNZkaMGMGCBQsO2ZfT6eTWW28lIiKCoKAgTj/9dKqqqg77Tfj7Xi9J+jYyxyh9b8nJyaxZs4adO3cyaNCgb1326aefZuDAgZx++unodDo++eQTfv3rX6OqKjfddFOfZYuKivjVr37F9ddfzyWXXMLDDz/MaaedxjPPPMMdd9zBr3/9awD++c9/cv7551NQUIBGc+Adz+/3M3fuXMaOHcuDDz7I4sWLufvuu/H5fNxzzz1HTGNdXR1jx45FURRuvvlmIiMjWbRoEVdffTXt7e2HDXj7LVq0CJ/Px6WXXnoUZ+6A888/n9TUVP75z3+yefNmnnvuOaKionjggQe+17krKCjgoosu4vrrr+faa68lKyuLV199lWuuuYbRo0dz3XXXAZCent6vdO53yy23EBMTw9/+9jfWrl3Ls88+S0hICKtXryYpKYn77ruPzz77jIceeohBgwZx2WWX9az7+OOPc/rpp3PxxRfj8Xh46623OO+88/j000+ZP39+z3JXXHEF77zzDpdeeiljx45l5cqVfebv90OulyR9KyFJ39PSpUuFVqsVWq1WjBs3Ttx+++1iyZIlwuPxHLKsw+E4ZNqcOXNEWlpan2nJyckCEKtXr+6ZtmTJEgEIs9ksysrKeqb/97//FYBYvnx5z7TLL79cAOKWW27pmaaqqpg/f74wGAyioaGhZzog7r777p6/r776ahEbGysaGxv7pOnCCy8Udrv9sMew329/+1sBiC1bthxxmd7uvvtuAYirrrqqz/SzzjpLhIeH95nW33O3ePHiQ5a3Wq3i8ssvP6q0lZSUCEA89NBDPdNefPFFAYg5c+YIVVV7po8bN04oiiJuuOGGnmk+n08kJCSIKVOmfOtxeDweMWjQIDF9+vSeaZs2bRKA+M1vftNn2SuuuOKYXi9J+jayKFX63mbNmsWaNWs4/fTT2bZtGw8++CBz5swhPj6ejz/+uM+yvb9ztbW10djYyJQpUyguLqatra3Psrm5uYwbN67n7zFjxgAwffp0kpKSDpleXFx8SNpuvvnmnv/fn6PweDwsW7bssMcihOC9997jtNNOQwhBY2Njz785c+bQ1tbG5s2bj3gu2tvbAQgKCjriModzww039Pl70qRJNDU19WwP+nfuUlNTmTNnTr/S0B9XX301iqL0/D1mzBiEEFx99dU907RaLSNHjjzkuvQ+jpaWFtra2pg0aVKf87p48WKAnlKB/W655ZY+f//Q6yVJ30YWpUo/yKhRo3j//ffxeDxs27aNDz74gMcee4xzzz2XrVu3kpubC8A333zD3XffzZo1aw75htbW1obdbu/5u3fwA3rmJSYmHnZ6S0tLn+kajYa0tLQ+0wYMGAAEmiIcTkNDA62trTz77LM8++yzh13m2yoUBQcHA9DR0XHEZQ7n4GMNDQ0FAse0f5v9OXepqan92n9/9efaHHxdPv30U+699162bt2K2+3umd470JaVlaHRaA45joyMjD5//9DrJUnfRgZG6ZgwGAyMGjWKUaNGMWDAAK688kreffdd7r77bvbt28eMGTPIzs7m0UcfJTExEYPBwGeffcZjjz2Gqqp9tqXVag+7jyNNF0dRqea77E/DJZdcwuWXX37YZQYPHnzE9bOzs4FAu86hQ4ce9X6/65j6e+6Odw3U/lyb3tfl66+/5vTTT2fy5Mn85z//ITY2Fr1ez4svvsgbb7zR73T80OslSd9GBkbpmBs5ciQANTU1AHzyySe43W4+/vjjPjmO5cuXH5f9q6pKcXFxTy4RYO/evUCg5ubhREZGEhQUhN/vZ+bMmf3e57x589Bqtbz22mv9roDzbY7VueudKzsR3nvvPUwmE0uWLMFoNPZMf/HFF/ssl5ycjKqqlJSUkJmZ2TO9qKioz3I/9HpJ0reR3xil72358uWHza199tlnAGRlZQEHchO9l21razvkoXgsPfnkkz3/L4TgySefRK/XM2PGjMMur9VqOeecc3jvvffYuXPnIfMbGhq+dX+JiYlce+21LF269LC9/qiqyiOPPNLvBv7H6txZrVZaW1v7tc6xpNVqURQFv9/fM620tPSQTgf2fx/9z3/+02f6wef0h14vSfo2MscofW+33HILDoeDs846i+zsbDweD6tXr+btt9/u6QYNYPbs2RgMBk477TSuv/56Ojs7+d///kdUVFRPrvJYMplMLF68mMsvv5wxY8awaNEiFi5cyB133EFkZOQR17v//vtZvnw5Y8aM4dprryU3N5fm5mY2b97MsmXLaG5u/tb9PvLII+zbt49bb72V999/n1NPPZXQ0FDKy8t59913yc/P58ILL+zXsRyrczdixAiWLVvGo48+SlxcHKmpqT2Vl34M8+fP59FHH2Xu3Ln86le/or6+nqeeeoqMjAy2b9/eJ53nnHMO//rXv2hqaupprrE/x9875/tDr5ckHdGJ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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.imshow(image)\n",
        "plt.axis(\"off\")\n",
        "plt.title(\"Sample Chart Image\")\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ye3oHev_sxSb"
      },
      "source": [
        "### Build a chat-style prompt\n",
        "\n",
        "We create a **chat message list** that includes a user query along with the image.\n",
        "\n",
        "Using `processor.apply_chat_template`, we transform this into the exact input format the model expects."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "itTL_n9nsyUJ"
      },
      "outputs": [],
      "source": [
        "# Define a chat-style prompt\n",
        "messages = [\n",
        "    {\"role\": \"user\", \"content\": [\n",
        "        {\"type\": \"image\", \"image\": image},\n",
        "        {\"type\": \"text\", \"text\": example[\"query\"]},\n",
        "    ]}\n",
        "]\n",
        "\n",
        "# Apply the chat template\n",
        "chat_prompt = processor.apply_chat_template(\n",
        "      messages, add_generation_prompt=True\\\n",
        ")\n",
        "print(chat_prompt)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UXhZ3Q8Pp8Nk"
      },
      "source": [
        "### Run inference\n",
        "\n",
        "We tokenize the chat prompt and image into tensors, then generate a response with the model.\n",
        "Finally, we decode the output tokens back into text."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "3-vVaqRos6XH"
      },
      "outputs": [],
      "source": [
        "# Tokenize input\n",
        "inputs = processor(images=[image], text=chat_prompt, return_tensors=\"pt\").to(device)\n",
        "\n",
        "# Generate model output\n",
        "with torch.no_grad():\n",
        "    output = model.generate(**inputs, max_new_tokens=20)\n",
        "\n",
        "# Trim the generated ids to remove the input ids\n",
        "trimmed_generated_ids = [out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, output)]\n",
        "\n",
        "# Decode the output text\n",
        "output_text = processor.batch_decode(\n",
        "    trimmed_generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False\n",
        ")\n",
        "print(output_text[0])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "FRAUV9Jdp8QK"
      },
      "source": [
        "The model generates a reponse, but it's not exactly correct. It could be improved with some fine-tuning. Now that we've seen how to build prompts and generate responses with **SmolVLM2-2.2B-Instruct**, it's time to learn how to adapt and **fine-tune** the model efficiently using **LoRA (Low-Rank Adaptation)**. This approach allows training large models with fewer resources and prepares the model for specific downstream tasks.\n",
        "\n",
        "\n",
        "## Exercise 2: Fine-Tune the Model Using LoRA\n",
        "\n",
        "In this exercise, we'll apply **LoRA (Low-Rank Adaptation)** to fine-tune our Vision-Language Model efficiently.  \n",
        "\n",
        "LoRA works by injecting **trainable low-rank matrices** into existing model layers, enabling **large models to be fine-tuned with significantly fewer trainable parameters**.  \n",
        "This approach reduces memory usage and speeds up training while maintaining high performance."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nR1hQWKQ5S9c"
      },
      "source": [
        "### Format dataset\n",
        "\n",
        "The first step involves formatting the dataset for VLM training. We'll create a system message to make the VLM act as a chart analysis expert, giving concise answers about chart images."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {
        "id": "Lfyp9XeMFDQ-"
      },
      "outputs": [],
      "source": [
        "system_message = \"\"\"You are a Vision Language Model specialized in interpreting visual data from chart images.\n",
        "Your task is to analyze the provided chart image and respond to queries with concise answers, usually a single word, number, or short phrase.\n",
        "The charts include a variety of types (e.g., line charts, bar charts) and contain colors, labels, and text.\n",
        "Focus on delivering accurate, succinct answers based on the visual information. Avoid additional explanation unless absolutely necessary.\"\"\""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "adI2ZDfkNZFg"
      },
      "source": [
        "We'll format the dataset into a chatbot structure, with the system message, image, user query, and answer for each interaction. This dataset format is expect by the `SFTTrainer`, includind the `images` and `messages` columns. You can learn more about formatting the datasets for VLM post training in the [docs](https://huggingface.co/docs/trl/en/sft_trainer#training-vision-language-models)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "metadata": {
        "id": "ex5t63ts5ca8"
      },
      "outputs": [],
      "source": [
        "def format_data(sample):\n",
        "    return {\n",
        "        \"images\": [sample[\"image\"]],\n",
        "        \"messages\": [\n",
        "            {\n",
        "                \"role\": \"system\",\n",
        "                \"content\": [{\"type\": \"text\", \"text\": system_message}],\n",
        "            },\n",
        "            {\n",
        "                \"role\": \"user\",\n",
        "                \"content\": [\n",
        "                    {\n",
        "                        \"type\": \"image\",\n",
        "                        \"image\": sample[\"image\"],\n",
        "                    },\n",
        "                    {\n",
        "                        \"type\": \"text\",\n",
        "                        \"text\": sample[\"query\"],\n",
        "                    },\n",
        "                ],\n",
        "            },\n",
        "            {\n",
        "                \"role\": \"assistant\",\n",
        "                \"content\": [{\"type\": \"text\", \"text\": sample[\"label\"][0]}],\n",
        "            },\n",
        "        ],\n",
        "    }"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DG0Lle9MNvMX"
      },
      "source": [
        "Now, let’s format the data using the chatbot structure. This will set up the interactions for the model."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {
        "id": "osT01-sL5fbc"
      },
      "outputs": [],
      "source": [
        "train_dataset = [format_data(sample) for sample in train_dataset]\n",
        "eval_dataset = [format_data(sample) for sample in eval_dataset]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CoQav_eB5Nxc"
      },
      "source": [
        "\n",
        "### Configure LoRA\n",
        "\n",
        "Here we define a `LoraConfig`:\n",
        "- `r` and `lora_alpha` control the rank and scaling of the adaptation matrices.\n",
        "- `target_modules` specifies which parts of the model to adapt.\n",
        "- `task_type` is set for causal language modeling.\n",
        "\n",
        "We then apply LoRA to the base model using `get_peft_model` and print out the trainable parameters to verify the adaptation."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "AWX62x3ftCui"
      },
      "outputs": [],
      "source": [
        "from peft import LoraConfig, get_peft_model\n",
        "\n",
        "# Configure LoRA\n",
        "peft_config = LoraConfig(\n",
        "    lora_alpha=16,\n",
        "    lora_dropout=0.05,\n",
        "    r=8,\n",
        "    target_modules=[\"q_proj\", \"v_proj\"],\n",
        "    task_type=\"CAUSAL_LM\",\n",
        ")\n",
        "\n",
        "# Apply PEFT model adaptation\n",
        "peft_model = get_peft_model(model, peft_config)\n",
        "\n",
        "# Print trainable parameters\n",
        "peft_model.print_trainable_parameters()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MIIuh4Dup8Sv"
      },
      "source": [
        "### Set up the Trainer\n",
        "\n",
        "We configure the **SFTTrainer** from `trl` with `SFTConfig`:\n",
        "- `num_train_epochs`, `batch_size`, and `gradient_accumulation_steps` control the training loop.\n",
        "- `gradient_checkpointing`, and `bf16` optimize memory and speed.\n",
        "- `learning_rate` manages optimization.\n",
        "- `train_dataset` and `eval_dataset` are aligned with your dataset.\n",
        "\n",
        "This prepares the trainer to handle fine-tuning with PEFT/LoRA."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "_-7v2ESGtLRj"
      },
      "outputs": [],
      "source": [
        "from trl import SFTConfig, SFTTrainer\n",
        "\n",
        "# Configure training arguments using SFTConfig\n",
        "training_args = SFTConfig(\n",
        "    output_dir=\"smol-course-SmolVLM2-2.2B-Instruct-trl-sft-ChartQA\",\n",
        "    num_train_epochs=1,\n",
        "    per_device_train_batch_size=4,\n",
        "    gradient_accumulation_steps=4,\n",
        "    learning_rate=1e-4,\n",
        "    logging_steps=25,\n",
        "    save_strategy=\"steps\",\n",
        "    save_steps=25,\n",
        "    optim=\"adamw_torch_fused\",\n",
        "    bf16=True,\n",
        "    push_to_hub=True,\n",
        "    report_to=\"trackio\",\n",
        "    max_length=None,\n",
        ")\n",
        "\n",
        "# Initialize the Trainer\n",
        "trainer = SFTTrainer(\n",
        "    model=model,\n",
        "    args=training_args,\n",
        "    train_dataset=train_dataset,\n",
        "    eval_dataset=eval_dataset,\n",
        "    peft_config=peft_config,\n",
        ")\n",
        "\n",
        "# Align the SFTTrainer params with your chosen dataset."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "w1BfLTXytN1o"
      },
      "source": [
        "### Train and Save the Model\n",
        "\n",
        "Now we run the training loop:\n",
        "1. `trainer.train()` starts fine-tuning with LoRA.\n",
        "2. `trainer.save_model()` stores the locally trained model.\n",
        "\n",
        "This step ensures the model is ready for downstream tasks with minimal additional parameters."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "a1S6cyUitQFK"
      },
      "outputs": [],
      "source": [
        "# Train the model\n",
        "trainer.train()\n",
        "\n",
        "# Save the model\n",
        "trainer.save_model(training_args.output_dir)"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "A100",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
